package com.kh.samr.entity.jq_project;

import com.kh.samr.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * 项目团队成员信息
 *
 * @author Harry
 * @date 2020/12/29
 */
@ApiModel(description = "项目团队成员信息")
@Table(name = "jq_principal")
@EqualsAndHashCode(callSuper = true)
@Entity(name = "jq_principal")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Principal extends BaseEntity {
	
	private static final long serialVersionUID = -7168754318298163896L;
	
	/**
	 * 人员信息标准唯一标识
	 */
	@ApiModelProperty(value = "人员信息标准唯一标识", readOnly = true)
	@Column(length = 36)
	private String memberStandardId;

	/**
	 * 真实姓名
	 */
	@ApiModelProperty(value = "真实姓名", readOnly = true)
	@Column(length = 100, nullable = false)
	private String fullName;

	/**
	 * 证件类型
	 */
	@ApiModelProperty(value = "证件类型", readOnly = true)
	@Column(length = 4, nullable = false)
	private String idType;

	/**
	 * 证件号码
	 */
	@ApiModelProperty(value = "证件号码", readOnly = true)
	@Column(length = 20, nullable = false)
	private String idNumber;

	/**
	 * 性别
	 */
	@ApiModelProperty(value = "证件号码", readOnly = true)
	@Column(length = 10, nullable = false)
	private String gender;

	/**
	 * 国籍
	 */
	@ApiModelProperty(value = "国籍", readOnly = true)
	@Column(length = 50, nullable = false)
	private String nationality;

	/**
	 * 民族
	 */
	@ApiModelProperty(value = "民族", readOnly = true)
	@Column(length = 20, nullable = false)
	private String national;

	/**
	 * 最终学历
	 */
	@ApiModelProperty(value = "最终学历", readOnly = true)
	@Column(length = 10)
	private String education;

	/**
	 * 最终学位
	 */
	@ApiModelProperty(value = "最终学位", readOnly = true)
	@Column(length = 10)
	private String degree;

	/**
	 * 所学专业
	 */
	@ApiModelProperty(value = "所学专业", readOnly = true)
	@Column(length = 50)
	private String learnProfessional;

	/**
	 * 从事专业
	 */
	@ApiModelProperty(value = "从事专业", readOnly = true)
	@Column(length = 50)
	private String engagedProfessional;

	/**
	 * 手机号码
	 */
	@ApiModelProperty(value = "手机号码", readOnly = true)
	@Column(length = 20, nullable = false)
	private String phoneNumber;
	
	/**
	 * 电子邮箱
	 */
	@ApiModelProperty(value = "电子邮箱", readOnly = true)
	private String email;
	
	/**
	 * 职称级别
	 */
	@ApiModelProperty(value = "职称级别", readOnly = true)
	@Column(length = 50)
	private String titleLevel;
	
	/**
	 * 行政职务
	 */
	@ApiModelProperty(value = "行政职务", readOnly = true)
	private String administrativeDuties;
	
	/**
	 * 留学国别
	 */
	@ApiModelProperty(value = "留学国别", readOnly = true)
	@Column(length = 50)
	private String studyAbroadCountry;
	
	/**
	 * 国外毕业院校
	 */
	@ApiModelProperty(value = "国外毕业院校", readOnly = true)
	@Column(length = 50)
	private String graduatedFrom;
	
	/**
	 * 研究方向
	 */
	@ApiModelProperty(value = "研究方向", readOnly = true)
	@Column(length = 4000)
	private String direction;
	
	/**
	 * 主要学历
	 */
	@ApiModelProperty(value = "主要学历", readOnly = true)
	private String masterEducation;
	
	/**
	 * 研究工作简历
	 */
	@ApiModelProperty(value = "研究工作简历", readOnly = true)
	@Column(length = 2000)
	private String jobResume;
	
	/**
	 * 主要论著及出处
	 */
	@ApiModelProperty(value = "主要论著及出处", readOnly = true)
	@Column(length = 2000)
	private String publications;
	
	/**
	 * 科研成果及获奖情况
	 */
	@ApiModelProperty(value = "科研成果及获奖情况", readOnly = true)
	@Column(length = 2000)
	private String achievements;
	
	/**
	 * 单位名称
	 */
	@ApiModelProperty(value = "单位名称", readOnly = true)
	@Column(length = 100)
	private String companyFullName;
	
	/**
	 * 邮政编码
	 */
	@ApiModelProperty(value = "邮政编码", readOnly = true)
	@Column(length = 100)
	private String postalCode;
	
	/**
	 * 单位地址
	 */
	@ApiModelProperty(value = "单位地址", readOnly = true)
	@Column(length = 100)
	private String companyAddress;
	
	/**
	 * 单位电话
	 */
	@ApiModelProperty(value = "单位电话", readOnly = true)
	@Column(length = 20)
	private String telephone;
}
